package com.smbms.utils;

import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.UUID;

public class FileUtil {

    /**
     * 文件上传
     * return 最终的文件名
     */
    public static String uploadFile(MultipartFile multipartFile,HttpServletRequest request) throws IOException {
        //如果文件为空,返回null
        if (multipartFile==null||multipartFile.isEmpty()){
            return null;
        }

        //获取项目路径
        String realPath = request.getServletContext().getRealPath("/upload");
        //判断文件夹是否存在,不存在就创建
        File file = new File(realPath);
        if (!file.exists()){
            file.mkdir();
        }

        //获取原文件名 123.png
        String filename= multipartFile.getOriginalFilename();
        //获取文件后缀
        String suffix = filename.substring(filename.lastIndexOf("."));
        //生成新的文件名(防止文件名字重复,覆盖)
        String newFileName = UUID.randomUUID() + suffix;

        //最终接收文件的对象
        File newFile = new File(realPath +"/"+ newFileName);
        //MultipartFile存储文件到newFile中
        multipartFile.transferTo(newFile);
        return newFileName;
    }
}
